package cn.exrick.xboot.base.service

import cn.exrick.xboot.base.entity.AdministrativeOffice
import cn.exrick.xboot.base.entity.Duty
import cn.exrick.xboot.base.vo.AdministrativeOfficeVo
import cn.exrick.xboot.base.vo.DutyVo
import cn.exrick.xboot.core.common.vo.PageVo
import cn.exrick.xboot.core.common.vo.Result
import com.baomidou.mybatisplus.core.metadata.IPage
import com.baomidou.mybatisplus.extension.service.IService

/**
 * 科室接口
 * @author Fei
 */
interface IDutyService : IService<Duty?> {


    /**
     * 创建或者更新职务
     */
    fun createOrUpdateDuty(duty: Duty): Result<Any?>?

    /**
     * 移除职务
     */
    fun removeDuty(ids:Array<out String>): Result<Any?>?

    /**
     * 获取同级职务
     * @param pageVo 分页参数
     * @return 科室数据
     */
    fun getByPage(pageVo: PageVo, duty: Duty): Result<MutableMap<String, Any?>>?

    /**
     * 根据id获取职务名称
     * @param id id
     * @return 科室名称
     */
    fun getDutyNameById(id: String?): String?

    /**
     * 根据条件或者职务列表
     * @return 科室列表
     */
    fun dutyVoList(): Result<MutableList<DutyVo>?>?
}